home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / oath.lha / oath / test / toks1.cc < prev    next >
C/C++ Source or Header  |  1991-08-29  |  2KB  |  62 lines

  1. #include "oath/oath.h"
  2.  
  3. #include <iostream.h>
  4.  
  5. //***************************************************************************
  6.  
  7.  
  8. main()
  9.    {characterA R = characterA::make('r');
  10.     characterA S = characterA::make('s');
  11.     characterA T = characterA::make('t');
  12.     characterA L = characterA::make('l');
  13.     characterA N = characterA::make('n');
  14.     characterA E = characterA::make('e');
  15.     characterA A = characterA::make('a');
  16.  
  17.     stringA Star   = minStringA::make() << T << A << R;
  18.     stringA Star2  = minStringA::make() << T << A << R;
  19.     stringA Sstar  = minStringA::make() << S << Star;
  20.     stringA Sstare = minStringA::make() << S << Star << E;
  21.  
  22.     cout << Star.am()   << "\t(" << Star.hash()   << ")" << endl;
  23.     cout << Star2.am()  << "\t(" << Star2.hash()  << ")" << endl;
  24.     cout << Sstar.am()    << "\t(" << Sstar.hash()  << ")" << endl;
  25.     cout << Sstare.am() << "\t(" << Sstare.hash() << ")" << endl;
  26.  
  27.     if(Star == Star2)
  28.         cout << "Star == Star2" << endl;
  29.     if(Star != Sstar)
  30.         cout << "Star != Sstar" << endl;
  31.  
  32.     cout << "Begin forming tokens:" << endl;
  33.     stringTokenA Ttar   = stringTokenA::make(Star);
  34.     stringTokenA Ttar2  = stringTokenA::make(Star2);
  35.     stringTokenA Tstar  = stringTokenA::make(Sstar);
  36.     stringTokenA Tstare = stringTokenA::make(Sstare);
  37.  
  38.     if(Ttar == Ttar2)
  39.         cout << "Ttar == Ttar2" << endl;
  40.     if(Ttar == Tstar)
  41.         cout << "Oops: Ttar == Tstar" << endl;    
  42.   
  43.     stringTableA Table = stringTableA::make(255);
  44.     Table.insert(Ttar, Star);
  45.     Table.insert(Tstar, Sstar);
  46.     Table.insert(Tstare, Sstare);
  47.     cout << "Table formed." << endl;
  48.  
  49.     if(Table.contains(Ttar)) cout << "Table has member Ttar." << endl;
  50.     stringA Atar  = stringA::isa(Table.assoc(Ttar));
  51.     if(!!Atar) cout  << "Atar  = " << Atar.am() << endl;
  52.     if(Table.contains(Ttar2)) cout << "Table has member Ttar2." << endl;
  53.     stringA Atar2  = stringA::isa(Table.assoc(Ttar2));
  54.     if(!!Atar2) cout  << "Atar2 = " << Atar2.am() << endl;
  55.     if(Table.contains(Tstar)) cout << "Table has member Tstar." << endl;
  56.     stringA Astar   = stringA::isa(Table.assoc(Tstar));
  57.     if(!!Astar) cout   << "Astar = " << Astar.am() << endl;
  58.     if(Table.contains(Tstare)) cout << "Table has member Tstare." << endl;
  59.     stringA Astare   = stringA::isa(Table.assoc(Tstare));
  60.     if(!!Astare) cout   << "Astare= " << Astare.am() << endl;
  61.  
  62.    }